/**
 * Created by fly on 2017/1/16.
 */
$(function () {
    initTable();
    $('#search').click(function(){
        $('#table').bootstrapTable('refresh', {url:  ctx + '/projectTasktime/countByProject'});
    });
});

function  initTable() {
    $('#table').bootstrapTable({
        height: top.frameHeight*0.7 ,
        url: ctx + '/projectTasktime/countByProject',  //这个接口需要处理bootstrap table传递的固定参数
        method:'post',
        dataType: "json",
        cache: false,   //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
        contentType:"application/x-www-form-urlencoded; charset=UTF-8",   //post请求,content type默认设置为 text/plain,在服务端直接通过 @RequestParam参数映射是获取不到的。
        striped: true,      //是否显示行间隔色
        pagination: true,     //是否显示分页（*）
        sortable: false,      //是否启用排序
        sortOrder: "asc",     //排序方式
        pageNumber:1,      //初始化加载第一页，默认第一页
        pageSize: 10,      //每页的记录行数（*）
        pageList: [10, 25, 50, 100 ],  //可供选择的每页的行数（*）
        queryParamsType:'',  //默认值为 'limit' ,在默认情况下 传给服务端的参数为：offset,limit,sort
        //设置为 ''  在这种情况下传给服务器的参数为：pageSize,pageNumber

        queryParams : queryParams,    //前端调用服务时，会默认传递上边提到的参数，如果需要添加自定义参数，可以自定义一个函数返回请求参数
        sidePagination: "server",   //分页方式：client客户端分页，server服务端分页（*）
        responseHandler:function(res){
            //远程数据加载之前,处理程序响应数据格式,对象包含的参数: 我们可以对返回的数据格式进行处理
            //在ajax后我们可以在这里进行一些事件的处理
            return res.data;
        },
        strictSearch: true,
        clickToSelect: true,    //是否启用点击选中行
        searchOnEnterKey: true,
        columns: [
            {
                title: '序号',  //标题  可不加
                align: 'center',
                formatter: function (value, row, index) {
                    var pageNumber = $('#table').bootstrapTable('getOptions').pageNumber;
                    var pageSize = $('#table').bootstrapTable('getOptions').pageSize;
                    return (pageNumber-1) * pageSize+index+1;
                }
            },{
                field: 'projectId',
                title: 'Item ID',
                align: 'center',
                visible:false
            },
            // {
            //     title: '日期范围',
            //     align: 'center',
            //     formatter: function (value, row, index) {
            //         var startDate = $.myTime.UnixToDate(Number(row.minTaskDate));
            //         var endDate = $.myTime.UnixToDate(Number(row.maxTaskDate));
            //         return startDate+ ' - ' + endDate ;
            //     }
            // },
            {
                field: 'projectCode',
                align: 'center',
                title: '项目编号'
            }, {
                field: 'projectName',
                align: 'center',
                title: '项目名称'
            },{
                field: 'sumTaskTime',
                align: 'center',
                title: '累计人天',
                formatter: function (value, row, index) {
                    return value.toFixed(1) ;
                }
            }, {
                title: '操作',
                align: 'center',
                formatter: function (value, row, index) {
                    var a='';
                    var b='';
                    var c='';

                    //根据角色权限判断是否要显示
                    var roleFuncCode = JSON.parse(sessionStorage.getItem("roleFuncCode"));
                    if($.inArray("/projectTasktime/taskTimeChange",roleFuncCode)>=0)
                        a = '<a class="page-action" href="#" role="button" ' + 'data-href="ProjectTaskTimeStats/change.html?id='+row.projectId
                            +'&startTime='+$.myTime.UnixToDate(Number(row.minTaskDate))+'&endTime='+$.myTime.UnixToDate(Number(row.maxTaskDate))
                            +'&projectName='+encodeURI(row.projectName)+'&taskTime='+row.sumTaskTime+'&parentPageId='+top.topManager.getPageId()
                            +'" title="'+ row.projectCode+'项目人天变化趋势" data-id="ProjectTaskTimeStats/change'+ row.projectCode+'">项目人天变化趋势</a>&nbsp;&nbsp;';


                    // if($.inArray("/projectTasktime/taskTimeTypeSpread",roleFuncCode)>=0)
                    //     b = '<a role="button" ' + 'href="type.html?id='+row.projectId
                    //         +'&startTime='+$.myTime.UnixToDate(Number(row.minTaskDate))+'&endTime='+$.myTime.UnixToDate(Number(row.maxTaskDate))
                    //         +'&projectName='+encodeURI(row.projectName)+'&taskTime='+row.sumTaskTime+'&parentPageId='+top.topManager.getPageId()
                    //         +'" title="项目人天类型分布">项目人天类型分布</a>&nbsp;&nbsp;';

                    if($.inArray("/projectTasktime/taskTimeStaffSpread",roleFuncCode)>=0)
                        c = '<a class="page-action" href="#" role="button" ' + 'data-href="ProjectTaskTimeStats/staffspread.html?id='+row.projectId
                            +'&startTime='+$.myTime.UnixToDate(Number(row.minTaskDate))+'&endTime='+$.myTime.UnixToDate(Number(row.maxTaskDate))
                            +'&projectName='+encodeURI(row.projectName)+'&taskTime='+row.sumTaskTime+'&parentPageId='+top.topManager.getPageId()
                            +'" title="'+ row.projectCode+'项目员工人天分布" data-id="ProjectTaskTimeStats/staffspread'+ row.projectCode+'">员工人天分布</a>&nbsp;&nbsp;';

                    return a+b+c;
                }
            }]
    });

}

function queryParams(params){
    var loginCode = window.sessionStorage.getItem("managerUser");
    return {
        pageNumber : params.pageNumber,
        pageSize : params.pageSize,
        startTime : $("#startDate").val(),
        endTime : $("#endDate").val(),
        projectCode : $("#project_code").val(),
        projectName : $("#project_name").val(),
        employName : $("#employ_name").val(),
        loginCode :loginCode
    };
}